The routine to independently label an axis is ggDrawAxesLabels():
ggDrawAxesLabels(nstr,string,iv,xory)where string is a character array of dimension nstr, containing labels to be output at major tick marks and xory determines which axes is to be labelled. The labels in string are cycled if there are greater than nstr tick marks on the axis.  The parameter iv determines whether the labels are output on the anticlockwise (iv=GANTICLOCKWISE) or clockwise (iv=GCLOCKWISE) side of the axis.
Although ggDrawAxesLabels() provides the means to position the labels at any position, in general these axes labelling routines are used as an alternative to numeric labelling. Therefore the axis to which labelling is to be added should be drawn without numeric labelling by setting the appropriate argument, ie,  anx=0 or any=0 in ggAddGrid(), or val=0 in ggDrawAxes() if required.
The example below shows the use of ggDrawAxesLabels(). Note that, by default, some of the labels are suppressed because the length is too long to fit between tick marks. Further control of label output is given through the routine ggSetAxesAttribs().
![]() |
Axis labelling |
[F90] !  AXIS LABELLING WITH ggDrawAxesLabels()    
use gino_f90
use graf_f90
  
  type (GDIM) paper
  integer papty
  character (len=9), dimension(12) :: mons = &    
  (/'January','February','March','April','May', &
    'June','July','August','September','October', &
    'November','December'/)
    
  call gOpenGino    
  call xxxxx    
  call gEnqDrawingLimits(paper,papty)   
  call ggSetGraphCharMode(GGINOMODE)
! DEFINE AXIS POSITION    
  call ggSetAxesPos(GDATAORIGIN,0.2*paper%xpap, &
    0.2*paper%ypap,0.7*paper%xpap,GXAXIS)
! DEFINE AXIS RANGE    
  call ggSetAxesScaling(GLINEARTYPE3,11,1.0,12.0,GXAXIS)    
! DRAW AXIS WITHOUT ANNOTATION    
  call ggDrawAxes(GCARDINAL,GCLOCKWISE,GNOVAL,GXAXIS)
! LABEL AXIS    
  call ggDrawAxesLabels(12,mons,GCLOCKWISE,GXAXIS)
  call gSuspendDevice
  call gCloseGino    
  stop   
  end